"""
装饰器

1. 装饰器本质上就是一个闭包，扩展了原有函数功能

2. 装饰器的语法格式：
        def decorator(func):  # func是被装饰的目标函数
            def inner():
                '''执行函数之前'''
                func()  # 调用被装饰的目标函数
                '''执行函数之后'''

            return inner

3. 装饰器的语法糖用法：@装饰器名称 装饰原有函数
"""


# 1.定义一个装饰器(装饰器的本质是闭包)
def check(func):
    def inner():
        print("请先登录...")
        func()

    return inner


# 2.使用装饰器装饰函数(添加一个登录验证的功能)
# 解释器遇到@check会立即执行 comment = check(comment)
@check
def comment():
    print("发表评论...")


comment()
